import { defineStore } from "pinia";
import { ref } from "vue";
import { getLoginUserUsingGet } from '@/api/userController.ts'


/**
 * 所有页面全局共享的变量，而不是局限在某一个页面中，比如：用户登录信息
 */
export const useLoginUserStore = defineStore("loginUser", () => {
  // 初始用户状态值
  const loginUser = ref<API.UserLoginVO>({
    userName: "未登录",
  });

  // 获取后端用户数据
  async function fetchLoginUser() {
    const res = await getLoginUserUsingGet();
    if (res.data.code === 0 && res.data.data) {
      loginUser.value = res.data.data;
    }
  }

  // 设置用户信息
  function setLoginUser(newLoginUser: any) {
    loginUser.value = newLoginUser;
  }

  // 将用户信息以及相关方法提供给外部调用
  return { loginUser, setLoginUser, fetchLoginUser };
});
